3.2.1 远程导入
目前的大势所趋是,使用分布式版本控制系统(Distributed Version Control Systems,DVCS)来分享代码,如GitHub、Launchpad还有Bitbucket。Go语言的工具链本身就支持从这些网站及类似网站获取源代码。Go工具链会使用导入路径确定需要获取的代码在网络的什么地方。
例如:
import "github.com/spf13/viper"
用导入路径编译程序时, go build
命令会使用 GOPATH
的设置,在磁盘上搜索这个包。事实上,这个导入路径代表一个URL,指向GitHub上的代码库。如果路径包含URL,可以使用Go工具链从DVCS获取包,并把包的源代码保存在 GOPATH
指向的路径里与URL匹配的目录里。这个获取过程使用 go get
命令完成。 go get
将获取任意指定的URL的包,或者一个已经导入的包所依赖的其他包。由于 go get
的这种递归特性,这个命令会扫描某个包的源码树,获取能找到的所有依赖包。